package cn.iocoder.yudao.module.distm.controller.admin.loss.vo;

import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.time.LocalDate;
import java.util.*;
import org.springframework.format.annotation.DateTimeFormat;
import java.time.LocalDateTime;
import com.alibaba.excel.annotation.*;
import cn.iocoder.yudao.framework.excel.core.annotations.DictFormat;
import cn.iocoder.yudao.framework.excel.core.convert.DictConvert;

@Schema(description = "管理后台 - 配送管理-餐食损耗记录 Response VO")
@Data
@ExcelIgnoreUnannotated
public class MealLossRecordRespVO {

    @Schema(description = "主键", requiredMode = Schema.RequiredMode.REQUIRED, example = "16441")
    @ExcelProperty("主键")
    private Long id;

    @Schema(description = "车辆信息")
    @ExcelProperty("车辆信息")
    private String carInfo;

    @Schema(description = "销售数量(份)")
    @ExcelProperty("销售数量(份)")
    private Integer salesQty;

    @Schema(description = "配送数量(份)")
    @ExcelProperty("配送数量(份)")
    private Integer deliveryQty;

    @Schema(description = "离港人数")
    @ExcelProperty("离港人数")
    private Integer departingQty;

    @Schema(description = "载客人数")
    @ExcelProperty("载客人数")
    private Integer seatingQty;

    @Schema(description = "进港航班")
    @ExcelProperty("进港航班")
    private String inboundFlight;

    @Schema(description = "航班号", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("航班号")
    private String flightNo;

    @Schema(description = "起飞地点")
    @ExcelProperty("起飞地点")
    private String depLoc;

    @Schema(description = "起飞站点三字代码")
    @ExcelProperty("起飞站点三字代码")
    private String depIata;

    @Schema(description = "降落地点")
    @ExcelProperty("降落地点")
    private String arrLoc;

    @Schema(description = "降落站点三字代码")
    @ExcelProperty("降落站点三字代码")
    private String arrIata;

    @Schema(description = "机号")
    @ExcelProperty("机号")
    private String aircraftNo;

    @Schema(description = "是否机供", example = "1不配供机;2外站;3其他")
    @ExcelProperty(value = "是否机供", converter = DictConvert.class)
    @DictFormat("distm_supply_type") // TODO 代码优化：建议设置到对应的 DictTypeConstants 枚举类中
    private String supplyType;

    @Schema(description = "机型", example = "1")
    @ExcelProperty("机型")
    private String aircraftType;

    @Schema(description = "航空公司", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("航空公司")
    private String airline;

    @Schema(description = "航班日期", requiredMode = Schema.RequiredMode.REQUIRED)
    @ExcelProperty("航班日期")
    private LocalDate flightDate;

    @Schema(description = "备注说明")
    @ExcelProperty("备注说明")
    private String remarks;

    @Schema(description = "创建时间")
    @ExcelProperty("创建时间")
    private LocalDateTime createTime;

}